#include "game.h"
#include "textureManager.h"
#include "image.h"
#include <vector>
#include <stdlib.h>
#include "bullet.h"
#include "bulletList.h"

#ifndef _BULLETHELL_H             // Prevent multiple definitions if this 
#define _BULLETHELL_H             // file is included in more than one place
#define WIN32_LEAN_AND_MEAN

using namespace std;

class BulletHell : public Game {
private:
	TextureManager playerTexture;
	TextureManager fireballTexture;
	TextureManager nebulaTexture;
    Image player;
	Image initFireball;
	Image nebula;
	vector<float> playerPosition;
	vector<float> playerVelocity;
	BulletList bullets;
	float acceleration;
	float timePerFireball;
	float timeSinceLastFireball;
	vector<Bullet> nearBullets;

	void updatePlayerPos();
	void generateXY(int &x, int &y);
	
public:
	BulletHell();
	virtual ~BulletHell();
	void initialize(HWND hwnd);
	void update();
	void ai();
	void collisions();
	void render();
};
#endif